Method and apparatus for establishing and using hierarchy among remotely controllable theatre devices

ABSTRACT

A theatre system operating in compliance with the DMX512 protocol is also able to support remote channel assignment of the various theatre devices included therein as well as other auxiliary operating modes by establishing a device hierarchy based on unique ID numbers assigned to the theatre devices when DMX communication is inactive. The theatre devices communicate with each other bi-directionally to establish a device hierarchy. Each theatre device has a pre-assigned unique device identification number, and a hierarchy is established based on these unique ID numbers. One way to establish a hierarchy is to create a list of the unique device identification numbers of the bi-directional theatre devices in the system, and then determine the position of each theatre device on the list. The list may be assembled by one of the bi-directional theatre devices and broadcast to all when completed, or each bi-directional theatre device may itself assemble a complete list. Determining the positions of the theatre devices may be performed by each of the bi-directional theatre device for itself, in which case the bi-directional theatre devices store substantially identical lists and each of them compares its unique ID number to the list to establish its position in the list. Alternatively, one of the bi-directional theatre devices may calculate the respective positions in the list of all of the bi-directional theatre devices, and then communicate the position information for a particular theatre device to that device.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] The present application is a continuation of and claims thebenefit of co-pending prior U.S. patent application Ser. No. 09/440,303,filed Nov. 17, 1999, the entire disclosure of which is considered a partof this document and is hereby incorporated herein by reference theretoin its entirety.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to digital control of theatredevices, and more particularly to establishing a hierarchy among theatredevices normally remotely controlled by a unidirectional continuous datastream from a central controller and to using a hierarchy, howeverestablished, for various purposes such as service and setup, includingchannel assignment.

[0004] 2. Description of Related Art

[0005] Theatre devices responding to instructions from a remotelylocated controller are often used for many types of theatre events suchas, for example, Broadway shows, television programs, rock concerts,theme parks, the architectural lighting of restaurants and buildings,and other dramatic and entertainment purposes. Theatre devices includemulti-parameter lights, haze machines, lighting dimmers, strobes, fans,searchlights, and the like. Typically, theatre devices are wiredtogether with a communications system so that the devices may beoperated remotely from a central controller. Some of the theatre effectsthat can be remotely control including pan, tilt, color, focus, pattern,dimmer, strobe, wind and so forth.

[0006] Prior to the advent of relatively small commercial digitalcontrollers, remote control of light fixtures from a central controllerwas done with either a high voltage or low voltage current; see, e.g.,U.S. Pat. No. 3,706,914, issued Dec. 19, 1972 to Van Buren, and U.S.Pat. No. 3,898,643, issued Aug. 5, 1975 to Ettlinger. With thewidespread use of digital computers, digital serial communications hasbeen adopted as a way to achieve remote control; see, e.g., U.S. Pat.No. 4,095,139, issued Jun. 13, 1978 to Symonds et al., and U.S. Pat. No.4,697,227, issued Sep. 29, 1987 to Callahan.

[0007] Proprietary protocol schemes for serial communications withtheatre devices developed, which left the user desiring to controltheatre devices from different manufacturers with the necessity ofhaving to use an array of different equipment using different protocolsdesigned by the respective manufacturers. In response to this situation,is the United States Institute of Theatre Technology (“USITT”) in 1986adopted a standard digital communications system protocol for theatredevices known as DMX512. While the DMX512 protocol has been updatedseveral times since its adoption, the basic communications protocolremains the same. Basically, the DMX512 protocol requires a continuousstream of data at 250 Kbaud which is communicated one-way from thecentral controller to the theatre devices. Typically, the theaterdevices use an Electronics Industry Association (“EIA”) standard formulti-point communications know as RS-485.

[0008]FIG. 1 shows an illustrative theatre system based on the USITTDMX512 protocol. AC power is provided to a central controller 51,multi-parameter lights 21, 22, 23 and 24, dimmers 31, 32, 33, and fan 41over standard building electrical wiring 1. A communications cablesegment 11 is run from the central controller 51 to a first theatredevice in the system, illustratively the fan 41, and additionalcommunication cable segments 12, 13, 14, 15, 16, 17, and 18 sequentiallyconnect the dimmer 33, dimmer 32, dimmer 31, multi-parameter light 21,multi-parameter light 22, multi-parameter light 23, and multi-parameterlight 24. While only eight theatre devices are shown in FIG. 1 forclarity, typical theatre systems may have thirty or more theatredevices. Communications during a theatre event is in a single direction,as shown by arrows adjacent the communications cable segments 11-18.

[0009] Theatre systems based on the USITT DMX512 protocol typicallyoperate using unidirectional communications. The present DMX protocolspecifies three wires: (1) data plus; (2) data negative; and (3) ground.In accordance with the DMX protocol, receivers always operate asreceivers and transmitters always operate as transmitters. The presentDMX protocol does specify the addition of two more wires, a data plusand data negative, to achieve bi-directional full duplex, but the 5-wirefull duplex system has not been readily accepted and is not inwidespread use.

[0010] While bi-directional full duplex communications under the DMXprotocol is not in general use, many theatre devices are nonethelesscapable of bi-directional communication and use it for updating(uploading) new or improved software from the manufacturer. For example,manufactures of theatre devices such as automated spotlights and complexmicroprocessor dimmer systems have need from time to time to providesoftware updates to their theatre devices. As these devices may beinstalled at remote locations, two way communications between thetheatre devices and a host service computer is conducted over thetheatre communications system so that the new software can be uploadedto the theatre devices. Since the RS-485 standard allows for two waycommunication, the bi-directional communications required for uploadingis provided by these manufactures using an RS-485 transceiver at thehost computer and RS-485 transceivers at the theatre devices. Thisbi-directional communication (half duplex) between pairs of RS-485transceivers is not part of the USITT DMX protocol. Since thebi-directional communication used by these manufacturers is onlyutilized when the device is being serviced or operated with amanufacture's discrete protocol and not while a controller operatingwith only the DMX protocol is in use, it does not violate the DMXprotocol.

[0011] There are various routines used during the upload process. Theseroutines do not have to be DMX512 compatible since during this time theyare considered to be in a service mode. This service mode requires thatthe theatre devices communicate with a host computer or microprocessor.To help facilitate this communication, each theatre device as suppliedfrom the manufacturer typically is equipped with a unique ID numberstored within non-volatile memory. This manufacturer supplied unique IDnumber helps to individually identify the devices to the host computeror microprocessor. In this way, a theatre device may report a failurewith the upload process to the host computer or the host computer mayfind out how may devices are attached to the link to be uploaded. Thisunique ID number is non-alterable or changeable by the user. During thetime when the devices are under the control of a DMX512 compatiblecontroller the devices cannot communicate with each other since the DMX,protocol requires a continuous stream of data at 250 Kbaud.

[0012] After a theatre system is physically installed, typically it mustbe set up. A typical setup procedure for a DMX512 compliantunidirectional theatre system such as shown in FIG. 1 requiressignificant manual intervention and is as follows. A technician connectspower and runs data cables 11-18 that carry the DMX512 protocol to thefixtures from the control system 51. Theatre devices that use the DMX512protocol typically have one or more channels through which variousfunctions thereof are controlled. The channels are set at the deviceitself, typically by operating address switches or entering the propercommands into the device while watching a display found on the device.FIG. 2 shows an illustrative multi-parameter light 66, which receivespower from powerline 68 and is connected into a theatre communicationssystem, typically digital, by cable segments 60 and 62. A display andvarious controls, generally indicated at 64, are located on the housingof the light 66, and are shown in an enlarged view in FIG. 3. Typicalcontrols include a “menu” button 72, up-count and down-count buttons 76and 78, and an “enter” button 74. An illustrative channel address “024”appears in display 70. The address “024” is set by pressing the “menu”button 72 until a “channel assign” mode notification appears on thedisplay 70, manipulating the counter buttons 76 and 78 until the desiredaddress appears, and finally pressing the “enter” button 74.Illustrative multi-parameter light devices are described in the productbrochure entitled The High End Systems Product Line 1996 and areavailable from High End Systems, Inc. of Austin, Tex.

[0013] Unfortunately, having to manually assign the channels for all ofthe theatre devices in a theatre system is time consuming and prone toerror. Moreover, certain theatre devices such as multi-parameter lightsare often required to be placed in hard to reach locations that areaccessible only by means of a lift or ladder. In such cases, channelassignments are typically made with the theatre device on the ground,and the theatre device is then lifted to the proper position. Whenaddress mistakes are made through human error, the technician must gainphysical access to the theatre device by lift or ladder so that he maycorrect the channel assignment to that required by the operator of thecontroller.

SUMMARY OF THE INVENTION

[0014] One embodiment of the invention is a method of performingoperations on a plurality of theatre devices that are remotelycontrollable over a communications system from a central controller, thetheatre devices having respective identifying information and settablestarting addresses. The method comprises generating a list of theidentifying information over the communications system; instructing afirst one of the theatre devices to operate in a manner that isobservable to a human observer from the central controller using theidentifying information of the first theatre device in the list;instructing a second one of the theatre devices to operate in a mannerthat is observable to a human observer from the central controller usingthe identifying information of the second theatre device in the list;and performing operations on the first and second theatre devices inresponse to the first theatre device instructing step and the secondtheatre device instructing step.

[0015] Another embodiment of the invention is a method of setting astarting address for a particular theatre device, the particular theatredevice being one of a plurality of theatre devices connected to acommunication system and having respective unique device identifiers andrespective settable starting addresses. The method comprisestransmitting the unique device identifier of the particular theatredevice to the plurality of theatre devices over the communicationsystem;

[0016] receiving the unique identifier of the particular theatre device;producing a theatre effect with the particular theatre device that isobservable by a human observer after the receiving step and based on theunique device identifier of the particular theatre device; and settingthe settable starting address thereof in response to a communication ofa DMX channel over the communication system based on an observation ofthe theatre effect from the producing step.

[0017] Another embodiment of the invention is a multiparameter theatrelight remotely controllable using a DMX protocol comprising acommunications transceiver; means for storing a unique deviceidentifier; means for furnishing the unique device identifier to thecommunications transceiver for transmission; means for changing anobservable parameter of the multiparameter light substantially upon theunique device identifier being furnished to the communicationstransceiver by the furnishing means; and means for setting a start ischannel in response to a DMX channel contained in a communicationreceived by the transceiver.

[0018] Another embodiment of the invention is a theatre lighting systemcomprising a communications system; and a plurality of theatre devicesremotely controlled by a DMX protocol. Each of the theatre devices has aunique device identifier and a settable starting address, is capable ofbi-directional communications, and comprises means for sending theunique device identifier thereof over the communication system forenabling formation of a list of the unique device identifiers of thetheatre devices; means for performing an operation that is observable toa human observer in response to a communication over the communicationssystem based on the unique device identifier thereof; and means forperforming a set up operation in response to a communication over thecommunications system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 is a schematic diagram of a lighting system.

[0020]FIG. 2 is a plan front view of a multi-parameter light fixture.

[0021]FIG. 3 is an enlarged view of a display and various controlbuttons of the multi-parameter light fixture of FIG. 2.

[0022]FIG. 4 is a schematic diagram of another lighting system.

[0023]FIG. 5 is a block schematic diagram showing an illustrativearrangement for a communications systems interface.

[0024]FIG. 6 is a flowchart of a technique for establishing a devicehierarchy for the lighting system of FIG. 4.

[0025]FIG. 7 is a flowchart of a channel assignment technique using thedevice hierarchy established by the technique of FIG. 6.

[0026]FIG. 8 is a flowchart of a technique for selecting a mastertheatre device.

[0027]FIG. 9 is a flowchart of a technique useful to a master theatredevice to acquire IDs from slave theatre devices.

[0028]FIG. 10 is a flowchart of a technique useful to a slave theatredevice to report its ID to a master theatre device operating inaccordance with the technique of FIG. 9.

[0029]FIG. 11 is a flowchart of another channel assignment techniqueusing the device hierarchy established by the technique of FIG. 6.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0030]FIG. 4 shows an illustrative theatre system that is both compliantwith the USITT DMX512 protocol and supports various auxiliary modes suchas service and setup modes during which identification by an observer(such as, for example, the operator of the controller) of particulartheatre devices is helpful, including remote channel assignment of thevarious theatre devices included therein. Advantageously, the ability toperform various service and setup tasks remotely eliminates the need fortime consuming and costly human assistance, while maintaining compliancewith the DMX512 protocol for control of the theatre system duringtheatre events allows the continued use of existing hardware andinstallations.

[0031] In normal operating mode, the theatre system of FIG. 4 uses acontinuous stream of unidirectional digital data from, for example, aDMX compliant controller to the theatre devices. However, the theatresystem of FIG. 4 is also capable of operation in various auxiliary modeswhich rely on the theatre devices having an established hierarchy. Adevice hierarchy is simply a condition of logical or comprehensiblearrangement among the theatre devices, and may be establishedarbitrarily or by any suitable specific criteria. Device hierarchy istherefor distinguishable from channel assignments, which establish arelationship between the theatre devices and the controller. Auxiliarymodes which can advantageously use a device hierarchy include varioussetup modes such as channel assignment and adjustment of operatingparameters, and various service modes such as testing, softwareupdating, and theatre device maintenance.

[0032] A device hierarchy is established among the theatre devices inthe system that are capable of bi-directional communications. A devicehierarchy may be established in any desired way, with or without usinginformation that individually identifies the bi-directional theatredevices. However, preferably each of the bi-directional theatre deviceshas a preassigned device identification (“ID”) number, which could bearbitrary or assigned in any convenient way but preferably is assignedby the manufacturer and preferably is unique, and a hierarchy isestablished preferably in any suitable way using the ID numbers of thebi-directional theatre devices. One illustrative way to establish ahierarchy is to create a list of the unique device identificationnumbers of the bi-directional theatre devices in the theatre system andto determine the position of each in the list. The list may be assembledby one of the bi-directional theatre devices, by some of thebi-directional theatre devices, or by all of the bi-directional theatredevices. Determining the positions of the bi-directional theatre devicesin the hierarchy may be performed by each of the bi-directional theatredevices for itself, in which case the bi-directional theatre devicesstore substantially identical lists (achieved, for example, by havingeach of the bi-directional theatre device construct a list in accordancewith a common criterion or by downloading a list from another device)and each of them compares its unique ID number to the list to establishits position in the list. Alternatively, one of the bi-directionaltheatre devices may calculate the respective positions in the list ofall of the bi-directional theatre devices and communicate the positioninformation for a particular bi-directional theatre device to thatdevice, or two or more of the bi-directional theatre devices maycalculate the respective positions in the list of others of thebi-directional theatre devices and communicate the position informationto them.

[0033] Theatre systems may include theatre devices that either are notcapable of bi-directional communications or are not properly programmedto support remote channel assignment. The channel assignments for thesetheatre devices simply is made manually.

[0034] In the lighting system of FIG. 4, AC power is provided to acentral controller 151, multi-parameter lights 121, 122, 123 and 124,dimmers 131, 132, 133, and fan 141 over standard building electricalwiring 101. A communications cable segment 111 is run from the centralcontroller 151 to a first theatre device in the system, illustrativelythe fan 141, and additional communication cable segments 112, 113, 114,115, 116, 117, and 118 sequentially connect the dimmer 133, dimmer 132,dimmer 131, multi-parameter light 121, multi-parameter light 122,multi-parameter light 123, and multi-parameter light 124. While onlyeight theatre devices are shown in FIG. 4 for clarity, typical theatresystems have thirty or more theatre devices. The various components ofthe theatre system of FIG. 4 are available from various manufacturers;for example, multi-parameter lights and controllers are available fromHigh End Systems, Inc. of Austin, Tex.

[0035] An illustrative digital circuit 170 for the theatre devices ofFIG. 4 is shown in FIG. 5. As these types of circuits are generally wellknown in the art, the circuit of FIG. 5 has been simplified for clarityto show the arrangement of communications system interfaces relative tothe microprocessor and the device terminals. The microprocessorsub-system 176 interfaces to the theatre communications system through atransceiver 174, which is connected to two cables of the theatrecommunications system through a COM IN terminal 171 and a COM OUTterminal 172. Terminals 171 and 172 are shown in a simple loop-througharrangement, but it will be appreciated that various other terminalarrangements well known in the art are suitable, includingunidirectional and bi-directional ports as well as various arrangementsof connectors including looped through connectors and connectors thatincorporate line amplifiers and pulse shapers. A power supply 178furnishes power to the transceiver 174 and the microprocessor 176.Suitable circuits are available from various manufacturers, includingNational Semiconductor, Inc. of Santa Clara, Calif., and IntellonCorporation of Ocala, Fla. It will be appreciated that more than twochannels to support more than two communications systems may be providedif desired and a wireless interface may be used instead of the cableinterface, as more fully described in U.S. patent application Ser. No.09/394,300, filed Sep. 10, 1999 (Belliveau, Method and Apparatus forDigital Communications with Multiparameter Light Fixtures), which ishereby incorporated herein by reference in its entirety.

[0036] The microprocessor 176 is programmed to respond to unidirectionalcommunications preferably using the USITT DMX512 protocol for control ofthe theatre devices during an event, as well as to carry outbi-directional communications between transceivers preferably compliantwith the RS-485 standard to establish the hierarchy of deviceidentification numbers that is the basis for remote channel assignmentfor the various theatre devices during setup. The theatre system of FIG.4 therefor is capable of bi-directional communications among thebi-directional theatre devices therein, as shown by the double-headedarrows adjacent the communications cable segments 112-118. Thecontroller 151 is not transmitting a DMX data stream while the hierarchyis being determined, as indicated by the “X” adjacent the communicationscable segment 111. This is accomplished either by unplugging thecommunications cable segment 111 from the controller 151 or by placingthe controller 151 in a standby or power off condition. It will beappreciated that while the bi-directional communication between RS-485transceivers is not part of the USITT DMX protocol, the DMX protocol isnot violated since bi-directional communications are not used duringnormal operation.

[0037] An implementation of an illustrative technique for establishing ahierarchy and an illustrative setup operation suitable for performingchannel assignments in the theatre system of FIG. 4 is shown in FIGS.6-10. During the phase of establishing the hierarchy, illustratively oneof the theatre devices is designated a master (because it issuesinstructions) using preferably an anti-collision communications scheme,and the other bi-directional theatre devices are deemed slaves (becausethey carry out instructions from the master). The master is in a sense asupervisor, collecting the ID numbers from the slave devices,determining a device hierarchy therefrom, and furnishing each of theslave devices information about its position in the device hierarchy.The master determines a device hierarchy by constructing a list of theID numbers of the participating bi-directional theatre devices in thetheatre system, the hierarchy being the order of ID numbers on the list.The list may be ordered in any desired way, including, for example,arbitrarily as the ID numbers are received or sorted by the value of theID numbers. The master may furnish each of the slave devices informationabout its position in the device hierarchy in any suitable way. Onesuitable way is for the master to broadcast the list to the slaves sothat each of the participating bi-directional theatre devices canindividually determine their own position in the hierarchy by comparingtheir respective ID numbers to the individual entries in the list.Another suitable way is for the master to calculate the position of eachof the slave devices and successively transmit each position to theproper slave device. This knowledge in each of the theatre devices ofits place in the hierarchy is used during a subsequent channelassignment phase by the controller operating under the DMX512 protocolto assign channels to the theatre device. The technique simplifies theassignment of channels to theatre devices which previously were assignedmanually at the device during the set up.

[0038] If desired, more than one master device may be designated and themultiple master devices may create full or partial lists of device IDnumbers based on any suitable criteria and may communicate to theirrespective slaves information about the position of the slaves in thedevice hierarchy in any suitable way. If desired, each of thebi-directional theatre devices may work out its own position in thehierarchy in any suitable way, without any of them being designated as amaster and with or without the use of device ID numbers. However, theillustrative method shown in FIGS. 6-10 has one of the bi-directionaltheatre devices assume the role of master for purposes of determining adevice hierarchy using unique device ID numbers.

[0039]FIG. 6 shows a technique that is suitable for execution by theatredevice circuits that include microprocessors or suitable logic circuitsfor establishing a device hierarchy suitable for the lighting system ofFIG. 4. FIG. 7 shows a channel assignment technique suitable forexecution by a theatre system controller under operator control usingthe hierarchy established by the technique of FIG. 6. While reference ismade to the theatre device circuit 170 (FIG. 5) in describing thetechnique illustrated in FIG. 6, it will be appreciated that the theatredevice circuit 170 is only an example and that the technique illustratedin FIG. 6 may be executed on other types of theatre device circuits.

[0040] It will also be appreciated that the anti-collision methoddescribed below is only an example of one suitable method, and that anumber of other techniques for anti-collision communications may beused. For example, one alternative set of rules is the CSMA/CD (CarrierSense Multiple Access/Collision Detection) protocol. CSMA/CD is a set ofrules determining how network devices respond when two devices attemptto use a data channel simultaneously, which is called a collision.CSMA/CD is well known and commonly used in standard Ethernet networks.Another alternative is the IEEE 802.11 standard, which specifies acarrier sense multiple access with collision avoidance (CSMA/CA)protocol. In this protocol, when a node receives a packet to betransmitted, it first listens to ensure no other node is transmitting.If the channel is clear, it then transmits the packet. Otherwise, itchooses a random “backoff factor” which determines the amount of timethe node must wait until it is allowed to transmit its packet. Duringperiods in which the channel is clear, the transmitting node decrementsits backoff counter. When the channel is busy it does not decrement itsbackoff counter. When the backoff counter reaches zero, the nodetransmits the packet. Since the probability that two nodes will choosethe same backoff factor is small, collisions between packets areminimized. This standard enables devices to detect a collision. Otherillustrative techniques are described in, for example, U.S. Pat. No.4,096,355, issued Jun. 20, 1978 to Rothauser et al., and in U.S. Pat.No. 4,063,220, issued Dec. 13, 1977 to Metcalfe et al.

[0041] The method of FIG. 6 begins when a theatre system is powered up(step 200), although other events such as a system reset may alsoinitiate the method of FIG. 6. The communications link is in place andeach of the theatre devices is powered up, but the system controllereither is not active or is not plugged into the communications system.

[0042] The theatre device circuit 170 begins to monitor thecommunication link (the COM IN terminal 170 and the COM OUT terminal 172in FIG. 5, for example) for a valid DMX512 data stream (step 202). If avalid data stream is detected (step 202—YES), the theatre devicepresumes that the channel assignment process has been completed andbegins normal operation (step 204). If a valid data stream is notdetected (step 202—NO), the theatre device presumes that a devicehierarchy is to be established for the theatre system and begins toparticipate in the process of selecting one of the theatre devices as amaster (step 206). An example of a suitable master selection process isshown in FIG. 8 and is further described below.

[0043] When in master mode (step 208—YES), the theatre device circuit170 acquires the unique ID numbers from other bi-directional theatredevices in the theatre system (step 220). An example of a suitablemaster process for acquiring ID numbers from all theatre devices in thetheatre system is shown in FIG. 9 and is further described below. Then alist of the unique ID numbers of the bi-directional theatre devices(including its own unique ID number) is assembled and stored in localmemory (step 222). Then information about the position in the hierarchyof the bi-directional theatre devices is furnished to the slave devices(step 224).

[0044] Information about the position in the hierarchy of thebi-directional theatre devices may assume various forms. For example,since the list of device ID numbers inherently contains informationabout the position in the hierarchy of each of the theatre devices onthe list, the entire list may be broadcast to all slave devices in thetheatre system so that the slave devices can each calculate their ownrespective positions along with the master device. Alternatively, forexample, the master device (using the computing power of themicroprocessor 176, for example) itself calculates the position in thehierarchy of each of the other theatre devices on the list, and sendsthe position value to each of the slave devices using specificallyaddressed transmissions. Illustratively, a master may calculate that aparticular multi-parameter light, for example, having the address “X”has position 9 out of 15 in the hierarchy. The master device transmits a“set hierarchy level” instruction addressed to “X” containing the data9.

[0045] When in slave mode (step 208—NO), the theatre device circuit 170reports its unique ID number to the master theatre device in response toan ID number request from the master theatre device (step 210), and thenstores its “position in the hierarchy” information when received fromthe master theatre device (step 212). Information about the position inthe hierarchy of the slave device may assume various forms. For example,one form is a list of the ID numbers of all of the participatingbi-directional theatre devices in the theatre system which is broadcastby the master. The slave receives the list and compares its ID numberwith the list to determine its position in the hierarchy. Broadcast ofthe list to all of the slave theatre devices enables each to check itsunique ID against the list to confirm that it is on the list. If a matchis not found, an error condition is indicated. Alternatively, the“position in the hierarchy” information is simply a position value. Theslave detects a “set hierarchy level” instruction addressed specificallyto it and stores the position value contained in the instruction as aparameter. An example of a suitable slave process for reporting its IDnumber to a master theatre device is shown in FIG. 10 and is furtherdescribed below.

[0046] At worst case, 512 single channel devices are required to belogged by a master, as the DMX512 protocol supports 512 channels. Inpractice, however, few devices use only one channel, with most usingfrom four to twenty at one time. This means that the actual number oftheatre devices on the communications link is likely to be less than128. Where the RS-485 standard is used, the actual number of theatredevices on the communications link should be 32 or less because thestandard so specifies. Completing the list and furnishing informationabout positions in the hierarchy to the slave theatre devices shouldeasily be accomplished by the master theatre device within minutes ofrunning the communications link and powering the theatre devices.

[0047]FIG. 7 shows a channel assignment technique suitable to be carriedout by a theatre system controller under operator control using thehierarchy established by the technique of FIG. 6, although any techniquefor establishing a hierarchy may be used instead. Some of the stepsshown in FIG. 7 are performed by the controller hardware, some by theoperator, and some jointly. Unless theatre devices that are notcompliant with the setup process are present in the theatre system, theoperator may assume that no correct channel assignments have beenperformed manually by any technicians or installers or the like. Thismeans that all channel assignments at the devices must either be from aprevious setup or at the factory default.

[0048] The operator plays an important role in processes such as theprocess of FIG. 7. The theatre devices in the hierarchy respond byindividually operating in accordance with their position in thehierarchy and in a manner that is observable by the operator, includingby a wind, light, sound, or movement response that is preferably but notnecessarily a standard theatre effect of the responding theatre device.Upon observing a response from a particular theatre device, the operatormay perform an operation such as a setup operation (for example, achannel assignment) or a service operation on the particular respondingtheatre device. Next, upon perceiving a response from another theatredevice in the hierarchy, the operator may perform an operation on thatparticular responding theatre device, and so forth until all theatredevices in the hierarchy have responded. At that time, the operator mayor may not have performed operations on all of the theatre devices, inaccordance with the operator's intentions.

[0049] The specific channel assignment process shown in FIG. 7 beginswhen the DMX controller is switched on or when the communications linkis connected to the output of an active DMX controller (step 300). Next,to individually access each of the devices with a DMX512 compatibleprotocol but for purposes other than normal control during theatreevents, preferably a specific and unusual combination of channelsettings known as a combination code or “key” code should first have tobe made on the controller to avoid having the operator accidentallysetting or changing channel assignments to devices during normaloperation. When the correct key code is entered at the controller, thecontroller instructs all of the theatre devices on the communicationslink to enter channel assignment mode (step 302). An illustrativetechnique for doing this is as follows. It will be appreciated that thistechnique is only an example, and other techniques may be used tosimilar effect.

[0050] The DMX channel values initially are set at a default value bythe operator, illustratively zero, and a DMX512 signal with all channelsset to zero is sent out from the controller onto the communicationslink. After a minimum time of, for example 10 seconds, and before amaximum time of, for example, 30 seconds, the operator sets the DMXcontroller so as to cause channel one to be at a particular outputlevel, illustratively 25 plus or minus a tolerance factor of, forexample, one. The operator should not step to the value of 25, butrather should set the value of channel one directly to output level 25.All other channels remain at their default values, illustratively zero.After a time period of say two to five seconds, channel one is broughtdirectly back to zero with all other channels remaining at zero. Thiscompletes an illustrative key code for causing the theatre devices toassume the channel assignment mode. Although this particular key codespecifies particular settings for all of the channels of the controller,it will be appreciated that other key codes may be defined by havingonly one or just a few of the channels at predetermined values, thesetting of the other channels being ignored for purposes of the keycode. It will also be appreciated that on some controllers, the key codemay be implemented in a macro.

[0051] Upon receiving the valid initial DMX signal with all channels setto zero, the theatre devices preferably start their respective internaltimers and monitor the communications link for the correct key code toenter channel assignment mode. It will be appreciated that therequirement for the channel assignment mode to be entered preferablywithin a specific time period after the theatre devices first receive avalid DMX512 signal is a security measure.

[0052] Next, the controller generates an instruction for the nexttheatre device in the hierarchy to respond (step 304), and the nexttheatre device in the hierarchy responds in a manner observable to ahuman observer such as the operator of the controller, preferably with atheatre effect, so that it can be identified by the observer (306). Thetheatre devices in the hierarchy keep track of the number ofinstructions sent by the controller so that each is able to respond whenits position in the hierarchy equals the number of instructions sent.

[0053] An illustrative technique for generating an instruction (step304) is as follows. With the theatre devices in the hierarchy now inchannel assignment mode, one of the channels, for example channel one,is assigned to be the selector channel. The operator brings the selectorchannel output for the DMX control to a particular level, illustrativelyfull, thereby causing a bit pattern to appear in the DMX data streamwhich is interpreted by the theatre devices in the hierarchy as aselector signal for the next theatre device in the hierarchy to respond.The theatre device next in the hierarchy, for example the theatre devicewith the lowest ID number that has not previously responded, nowresponds by operating in a manner that is observable by the operator(step 306). Since each theatre device is aware of its position in thehierarchy, the theatre device having the lowest position responds to thefirst instruction, the theatre device having the next lowest positionresponds to the second instruction, and so forth. A suitable responsefor a dimmer is, for example, to fully turn on the light or deviceconnected to the dimmer, while a suitable response for a multi-parameterlight is, for example, for the shutter to open and the light to displaysome movement. These responses gives the operator of the controller aclear visual indication so that each responding theatre device can beclearly identified. The operator then decides which DMX channel toassign to the identified theatre device for normal operation of theDMX512 control system, and brings the assignment channel selected to aparticular level, illustratively full, and then zero. This completes theassignment of the device to the assignment channel selected (step 308).The operator then returns the selector channel to the zero value so thatwhen it is returned to full output the theatre device having the nextposition in the hierarchy is able to respond. The operator continuesthis procedure until all devices have been assigned channels.

[0054] If the channel assignment of a device is required to be theselector channel, illustratively channel one, it is only necessary toidentify the device by using the selector channel and then returning theselector channel to zero. The action of raising and lowering theselector channel without raising another channel is interpreted as anassignment of the selector channel to the theatre device.

[0055] When assigning DMX channels to a multiple channel theatre device(step 308), the operator need assign a DMX channel only once to thetheatre device. The theatre device accepts the DMX assignment channel asits start channel and automatically completes channel assignment for allof its channels using the appropriate number of consecutive DMXchannels. The operator is aware of the number of channels required byeach of the theatre devices and typically has a channel assignment mapprepared on paper, so that the operator can avoid making any overlappingchannel assignments. For example, if a particular theatre device usesten DMX channels to function, the operator may decide to assign itsstart channel to DMX channel 050 and assign the start channel of thenext theatre device to DMX channel 060. This would be entirely propersince the particular theatre device would operate on DMX channels 050through 059 due to the automatic assignment of channels.

[0056] When all theatre devices in the hierarchy have been assignedoperating channels, one of the theatre devices that previously respondedagain responds when the operator raises the selector channel output.Observing this, the operator concludes that the channel assignmentexercise is completed (step 310—YES) and may then go on to normaloperation by reproducing a combination of specific actions at thecontroller. An illustrative combination involves returning all DMX512outputs to zero for a predetermined time period, then once again bringchannel one (i.e., the selector channel) to a value of 25 (plus or minusone) also for a predetermined time period, then returning all DMX512values to zero. Normal operation then commences with all theatre devicesresponding in accordance with their new channel assignments (step 312).

[0057] Another example of a channel assignment technique is shown inFIG. 11. The technique of FIG. 1I allows the setting of DMX startaddresses for theatre devices without the operator having to haveexplicit knowledge of the precise DMX channels utilized, and is usefulin conjunction with certain types of controllers that are pre-programmedwith setup information about a variety of different types of theatredevices and are able to accept setup information such as the number andtype of fixtures in the lighting system. The channel assignmenttechnique of FIG. 11 uses a device hierarchy that is established for thebi-directional theatre devices as described elsewhere in this documentduring the absence of the DMX signal.

[0058] First, the controller is configured by the operator with thetheatre devices required for the theatre event laid out in the desiredorder on the screen of the controller (step 700). For example, for atheatre system having five multi-parameter lights of type “X” having tenchannels each with the first two channels being for pan and tilt, theoperator specifies 5 devices of type X on the controller. The controllerknows that a type X device has ten channels and that the first twochannels are pan and tilt, which is significant because the controllerhas dedicated knobs for such effects as pan, tilt, color, focus,pattern, dimmer, strobe, and so forth. The operator then stacks the fivelights in the blocks of ten resembling type X side-by-side on thecontroller screen.

[0059] Next, the operator activates DMX communications on the controller(step 702) and enters a key code to place the theatre devices in thehierarchy into a channel assignment mode (step 704). An illustrative keycode is any desired sequence of discrete Pan and Tilt values. The valuesare established within a certain tolerance, say one percent, so that thetheatre devices in the hierarchy are able to correctly recognize the keycode, and the sequence is sufficiently long so as to minimize the chanceof the key code being generated by chance during the normal programmingof a theatre event. Directly after the key code is sent, the theatredevices in the hierarchy indicate that they have entered into thechannel assignment mode by flashing their lights or in any other desiredway.

[0060] Next, the operator selects a theatre device number on thelighting control desk that is to be assigned first (step 706).

[0061] Next, the operator indicates the start channel that is about tobe assigned (step 708) by raising the tilt channel for the selectedtheatre device number on the lighting control desk to a particularlevel, illustratively full. This signal is recognized by the lightingdevices in the hierarchy, which respond in any suitable manner (color orother observable change) to indicate that the signal has beenrecognized. The operator then moves the Pan channel to select fromamongst the theatre devices in the hierarchy. As the Pan channel ismoved through its full range, each theatre device in the hierarchy inturn becomes active (color or other observable change while the otherdevices go static) and available for selection (step 710 and step712—NO). Once the theatre device which the operator wishes to identifywith the selected theatre device number is found by observing itsresponse (step 712—YES), the operator brings the Tilt channel back downto an arbitrary threshold level, illustratively zero (step 714). Thissignals the observed theatre device to set its own DMX starting addressto the value pointed to by the specific Tilt channel.

[0062] The procedure is repeated as required (step 716—NO) by selectinga new fixture number at the lighting control desk, raising its Tiltchannel, and operating the Pan channel to select a particular theatredevice.

[0063] When the operator is finished with the procedure (step 716—YES),the operator sends a second key code sequence of any desired Pan andTilt values to return the theatre devices of the lighting system tonormal operation (step 718). Any interruption of the DMX signal alsoreturns the fixtures to normal operation mode.

[0064] An example of a suitable master arbitration process 400, whichinvolves an illustrative anti-collision measure, is shown in FIG. 8. Theprocess 400 is carried out by each of the bi-directional theatre deviceson the communications link that is suitably programmed to participate.After power up and in the absence of DMX data on the communications link(see steps 200 and 202 in FIG. 6), each participating theatre deviceinitiates a period of delay (step 402) before transmitting its unique IDcode. The delay period should have a reasonable probability of beingunique among the theatre devices in the theatre system and may begenerated in any of a variety of ways, such as, for example, by anon-board microprocessor such as the microprocessor 176 running a randomnumber generator or a hash function applied to the unique ID of thetheatre device. This delay helps to reduce collisions that wouldotherwise occur as multiple theatre devices try to communicate theirunique ID on the communications link at once. Next, the participatingtheatre device samples the communications link to detect whether thecommunications link is free (step 404). If the link is not free (step404—NO) and the theatre device detects a first complete transmission ofa unique ID (step 420—YES) on the link, the theatre device cancels theprocess for transmitting its unique ID (step 422) and enters into slavemode (step 424). However, if the theatre device does not detect anotherID transmission on the communications link (step 404—YES) by the end ofthe delay period (step 410—YES), it sends its own unique ID out over thecommunications link (step 412) and enters master mode (step 414).

[0065] Examples of suitable processes 500 and 600 that run on a theatredevice for constructing a table of unique ID numbers from all theatredevices in the theatre system is shown in FIGS. 9 and 10. The process500 of FIG. 9, which involves an illustrative anti-collision measure, isexecuted by a theatre device in master mode. The process 600 of FIG. 10is executed by a theatre device in slave mode.

[0066] A theatre device in master mode (hereinafter “master device”)broadcasts a request over the communications link for all theatredevices in slave mode (hereinafter “slave devices”) having ID numberslower than the ID number of the master device to report their ID numbersto the master device, as shown in FIG. 9 (steps 502 and 504). If themaster device has not timed out (step 506—NO), it looks for a validreply on the communications link to its request (step 508).

[0067] In the meantime and as shown in FIG. 10, each slave device thatdetects the ID upload request (step 604—NO and step 604—YES (see alsostep 504, FIG. 9)), makes a determination that its ID number meets therequirement specified in the ID upload request (step 606—YES) (initiallywhether the ID number is lower than the master ID number andsubsequently whether the ID number is higher than the master ID number),and concludes that it has not previously uploaded its ID to the masterdevice as tracked by an upload flag (step 608—YES), enters into awaiting period for a certain time (step 610) before broadcasting itsunique ID number. The delay period should have a reasonable probabilityof being unique among the theatre devices in the theatre system and maybe generated by the slave device in any of a variety of ways, asdescribed previously.

[0068] When the delay period expires, the slave device checks todetermine if the communications link is free (step 612). If the link isfree. (step 612—YES), the slave device then transmits its unique IDnumber (step 616) over the link. The slave device then sets the uploadflag (step 618) so that it can avoid responding to follow up uploadrequests from the master device. If the link is not free (step 612—NO),the slave device checks if the traffic on the link is a follow up IDnumber request (step 614). If not (step 614—NO), the process returns tochecking the link to determine whether it is free (step 612). If thetraffic on the link is a follow up ID number request, then the masterdevice has initiated a new session and the process on the slave devicereturns to making a determination that its ID number meets therequirement specified in the ID upload request (step 606—YES) and thatit has not previously uploaded its ID to the master device as tracked bythe upload flag (step 608—YES), and enters again into the waiting period(step 610) before attempting to broadcast its unique ID number.

[0069] With reference again to the master device process of FIG. 9, themaster device monitors the link for a valid reply (step 508), whichincludes the ID number along with any desired degree of error checking.If the reply is valid (step 508—YES), the master device sets a replyflag (step 510) which is used to detect completion of the ID acquisitionprocess, and records the ID number in a list (step 512). When theprocess times out (step 506—YES) after one or more ID numbers has beenrecorded (step 506—YES and step 520—YES), possibly some slave devicesmay not have been able to reply to the ID number upload request from themaster due to conflicts. Accordingly, the reply flag is reset (step 530)and a follow up broadcast request is done (step 504). The process isrepeated until no more replies are received, as indicated by a resetreply flag (step 520—NO).

[0070] When all slave devices having ID numbers lower that the ID numberof the master device have responded, the master device then restates theID request specifically for slave devices whose ID numbers are greaterthan the ID number of the master device (step 524) and does a newbroadcast (step 504). The process of FIG. 9 continues from that point asdescribed above. The master process of FIG. 9 concludes with thedetermination that both a low ID number upload request and a high IDnumber upload request have been made and processed (step 522—NO).

[0071] While FIGS. 6-10 pertain to establishing a device hierarchy whichis used to make channel assignments to theatre devices remotely from acontroller, the establishing of a device hierarchy is useful forsubsequently performing a variety of other operations remotely ontheatre devices by entering specific key codes for specific auxiliaryoperating modes. An example of an auxiliary operating mode is a servicemode, wherein theatre devices perform self test sequences that theoperator can observe. Another example of an auxiliary operating mode isto set up quiet mode, wherein cooling system noise from particulartheatre devices is reduced. Another example of an auxiliary operatingmode is to set up a reduced capacity mode, wherein particular theatredevices are set so that they use fewer DMX channels. Another example ofan auxiliary operating mode is to set up a high speed mode, whereinparticular theatre devices are set to achieve high speed parameterchanges.

[0072] While various techniques for establishing a hierarchy among thebi-directional theatre devices have been described, these areillustrative and other techniques may be used as well. Some of theseother techniques may involve device ID codes and some may not. Forexample, one technique using device ID codes involves having eachbi-directional theatre device that has not transmitted its ID codearbitrate for control of the communications link. When a bi-directionaltheatre device obtains control of the communications link, it broadcastsits ID code to the other bi-directional theatre devices, adds its IDcode to its list, and thereafter ceases to participate in arbitration.The other bi-directional theatre devices add the broadcast ID code totheir list, and those that have not previously broadcast their ID codesagain arbitrate for control of the communications link and repeat theprocess. At the end of the process, the bi-directional theatre devicescontain substantially identically ordered lists of the ID codes for thebi-directional theatre devices. The lists are ordered by time ofreceipt, although other criterion such as ID number may be used. Eachthen compares its ID code with the list to determine its position in thelist. An alternative technique that does not use device ID codesinvolves having each bi-directional theatre device that does not have anassigned position in the hierarchy arbitrate for control of thecommunications link and keep a count of the number of arbitrationsentered into. When a bi-directional theatre device “wins” thearbitration by obtaining control of the communications link, it assignsitself a position in the hierarchy based on the current arbitrationcount and thereafter ceases to participate in arbitration. The otherbi-directional theatre devices which have “lost” the arbitration resumearbitration for control of the communications link and repeat theprocess. At the end of the process, each of the bi-directional theatredevices contains a number that is its position in the hierarchy.

[0073] Another technique for establishing a hierarchy among thebi-directional theatre devices involves using the microprocessor in thetheatre device to run a random number generator during the hierarchyestablishing process. In this way theatre devices that do not have apermanent unique ID number stored at the factory may derive a randomlygenerated ID number that is probably unique so they may participate inthe hierarchy establishing process.

[0074] During the process of identifying theatre devices in thehierarchy for making channel, assignments or performing other setup orservice operations, preferably each the theatre devices in the hierarchyrespond to successive instructions for the next theatre device torespond. In the technique of FIG. 7, a series of selector signals from achannel on the controller designated as a selector channel is used toinstruct successive theatre device in the hierarchy to respond. In thetechnique of FIG. 11, theatre devices having positions in the hierarchycorresponding to settings on the Pan channel respond as the Pan channelis moved through its range while the Tilt channel for a selected theatredevice number is at full level. However, as an alternative the theatredevices in the hierarchy that have not been assigned channels may beprogrammed to respond in succession based on their position in thehierarchy each time a single response sequence initiation instruction issent by the controller. In this event, the operator, having decidedwhich DMX channel to assign to which theatre device, operates theappropriate assignment channel in a particular way, such as, forexample, by bringing the assignment channel to full and then to zero,when the theatre device desired for the assignment is observed tooperate.

[0075] The description of the invention and its applications as setforth herein is illustrative and is not intended to limit the scope ofthe invention as set forth in the following claims. Variations andmodifications of the embodiments disclosed herein are possible, andpractical alternatives to and equivalents of the various elements of theembodiments are known to those of ordinary skill in the art. These andother variations and modifications of the embodiments disclosed hereinmay be made without departing from the scope and spirit of the inventionas set forth in the following claims.

What is claimed is
 1. A method of performing operations on a pluralityof theatre devices that are remotely controllable over a communicationssystem from a central controller, the theatre devices having respectiveidentifying information and settable starting addresses, the methodcomprising: generating a list of the identifying information over thecommunications system; instructing a first one of the theatre devices tooperate in a manner that is observable to a human observer from thecentral controller using the identifying information of the firsttheatre device in the list; instructing a second one of the theatredevices to operate in a manner that is observable to a human observerfrom the central controller using the identifying information of thesecond theatre device in the list; and performing operations on thefirst and second theatre devices in response to the first theatre deviceinstructing step and the second theatre device instructing step.
 2. Themethod of claim 1 wherein the communications system is compatible with aDMX protocol.
 3. The method of claim 2 wherein where the identifyinginformation of the first and second theatre devices are unique.
 4. Themethod of claim 2 wherein the identifying information of the first andsecond theatre devices are factory-set.
 5. The method of claim 2wherein: the first and second theatre devices are multiparameter lights;the settable starting address of the first and second theatre lights areDMX starting addresses; and the operations performing step comprises:setting the settable DMX starting address in the first theatre device;and setting the settable DMX starting address in the second theatredevice.
 6. The method of claim 2 wherein: at least the first theatredevice is a multiparameter light; and the operations performing stepcomprises a set up operation for the first theatre device.
 7. The methodof claim 6 wherein the set up operation is a channel assignmentoperation.
 8. The method of claim 6 wherein the set up operation is aquiet mode operation.
 9. The method of claim 6 wherein the set upoperation is a high speed parameter change mode operation.
 10. Themethod of claim 6 wherein the set up operation is a reduced capacityoperation.
 11. A multiparameter theatre light remotely controllableusing a DMX protocol comprising: a communications transceiver; means forstoring a unique device identifier; means for furnishing the uniquedevice identifier to the communications transceiver for transmission;means for changing an observable parameter of the multiparameter lightsubstantially upon the unique device identifier being furnished to thecommunications transceiver by the furnishing means; and means forsetting a start channel in response to a DMX channel contained in acommunication received by the transceiver.
 12. A theatre lighting systemcomprising: a communications system; and a plurality of theatre devicesremotely controlled by a DMX protocol, wherein each of the theatredevices has a unique device identifier and a settable starting address,is capable of bi-directional communications, and comprises: means forsending the unique device identifier thereof over the communicationsystem for enabling formation of a list of the unique device identifiersof the theatre devices; means for performing an operation that isobservable to a human observer in response to a communication over thecommunications system based on the unique device identifier thereof; andmeans for performing a set up operation in response to a communicationover the communications system.
 13. The method of claim 12 wherein theset up operation is setting a starting address.
 14. The method of claim12 wherein the set up operation is a quiet mode operation.
 15. Themethod of claim 12 wherein the set up operation is a high speedparameter change mode operation.
 16. The method of claim 12 wherein theset up operation is a reduced capacity operation.
 17. The method ofclaim 12 wherein the set up operation is a channel assignment operation.18. A method of setting a starting address for a particular theatredevice, the particular theatre device being one of a plurality oftheatre devices connected to a communication system and havingrespective unique device identifiers and respective settable startingaddresses, the method comprising: transmitting the unique deviceidentifier of the particular theatre device to the plurality of theatredevices over the communication system; receiving the unique identifierof the particular theatre device; producing a theatre effect with theparticular theatre device that is observable by a human observer afterthe receiving step and based on the unique device identifier of theparticular theatre device; and setting the settable starting addressthereof in response to a communication of a DMX channel over thecommunication system based on an observation of the theatre effect fromthe producing step.